package cn.lg.soar.system.biz.modules.monitor.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * @author luguoxiang
 * @date 2021/9/5
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@TableName("lg_sys_token_info")
@Getter
@Setter
public class RefreshToken {

    /**
     * 用于新增互斥（单端在线，平台互斥）
     */
    @TableId(type = IdType.INPUT)
    private Long id;

    /**
     * 用于删除和验证时判断
     */
    @JsonIgnore
    private Long value;

    /**
     * 用户类型
     */
    private Integer userType;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 终端类型
     */
    private Integer clientType;

    /**
     * 到期时间
     */
    private LocalDateTime expires;

    /**
     * token有效期（是否在线）
     */
    @JsonIgnore
    private LocalDateTime tokenExpires;

    /**
     * 登录IP
     */
    private Integer ip;

    @TableField("`system`")
    private String system;

    private String browser;

}
